package com.beta.cust.bind.datasync.constant;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * 企微交互相关的常量
 */
@Data
@Component
@RefreshScope
public class WeixinContants {

    /**
     * 返回成功标识
     */
    public static int SUCCESS_CODE = 0;

    public static int TOKEN_EXPIRE = 42001;

    /**
     * 获取token
     * 详情见：https://developer.work.weixin.qq.com/document/path/91039
     */
    @Value("${qiwei.get.access.token.url:https://qyapi.weixin.qq.com/cgi-bin/gettoken}")
    private String accessTokenUrl;

    /**
     * 获取下游企业token
     * 详情见：https://developer.work.weixin.qq.com/document/path/95816
     */
    @Value("${qiwei.get.access.token.url:https://qyapi.weixin.qq.com/cgi-bin/corpgroup/corp/gettoken}")
    private String corpAccessTokenUrl;

    /**
     * 获取企业微信的部门列表
     * 详情见：https://developer.work.weixin.qq.com/document/path/90208
     */
    @Value("${qiwei.get.dep.list.url:999}")
    private String depListUrl;

    /**
     * 获取企业微信的标签下成员列表
     * 详情见：https://developer.work.weixin.qq.com/document/path/90213
     */
    @Value("${qiwei.get.tag.user.url:999}")
    private String tagUserUrl;

    /**
     * 获取企业微信的应用详情
     * 详情见：https://developer.work.weixin.qq.com/document/path/90227
     */
    @Value("${qiwei.get.agent.info.url:999}")
    private String agentInfoUrl;

    /**
     * 获取企业微信的用户详情
     * 详情见：https://developer.work.weixin.qq.com/document/path/90196
     */
    @Value("${qiwei.get.user.detail.url:999}")
    private String userDetailUrl;

    /**
     * 获取企业微信的部门详情
     * 详情见：https://developer.work.weixin.qq.com/document/path/95351
     */
    @Value("${qiwei.get.dep.detail.url:999}")
    private String depDetailUrl;

    /**
     * 获取部门成员
     * 详情见：https://developer.work.weixin.qq.com/document/path/90201
     */
    @Value("${qiwei.USER.simple.list.url:999}")
    private String userSimpleListUrl;

    /**
     * 用户所属部门
     */
    public static final String USER_DEPARTMENT = "光大银行";

    /**
     * 密文open_userid转换为明文userid。
     * 详情见：https://developer.work.weixin.qq.com/document/path/95884
     */
    @Value("${qiwei.open.user.simple.to.user.url:999}")
    private String openUserToUserUrl;

    /**
     * 企微应用ID
     */
    @Value("${qiwei.agent.id:999}")
    private String agentId;

    /**
     * 发送应用消息
     * 详情见：https://work.weixin.qq.com/api/doc/90000/90135/90236
     */
    @Value("${qiwei.sendMessage.url:http://qyapi.weixin.qq.com/cgi-bin/message/send}")
    private String sendMessageUrl;

    /**
     * 消息推送，内容封面图地址
     */
    @Value("${qiwei.push.cdn:http://111.205.51.133:1180/wsp/}")
    private String pushMessageCdn;

    // 外部联系人的secret
    public static final String EXTCONTACT_SECRET = "extContactSecret";
}
